package com.ship.contract.bean;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.base.BaseBean;
import com.ship.common.core.base.Joinable;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 船货排布方案信息
 *
 * @author AbyssRabbit@163.com
 * @since 2023-10-17
 */
@Data
@TableName("sp_arrange_scheme")
public class SpArrangeScheme extends BaseBean implements Joinable {

    @TableId
    @TableField("id")
    private Long id;

    /**
     * 年度计划id
     */
    @TableField("plan_id")
    private Long planId;

    /**
     * 创建时间
     */
    @TableField("create_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /**
     * 是否共享
     */
    @TableField("is_share")
    private Integer isShare;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 编号
     */
    @TableField("number")
    private Integer number;

    /**
     * 分享编号
     */
    @TableField("share_number")
    private Integer shareNumber;

    /**
     * 时间
     */
    @TableField("days")
    private Integer days;

    /**
     * 运费
     */
    @TableField("freight")
    private BigDecimal freight;

    /**
     * 贸易利润率
     */
    @TableField("trade")
    private BigDecimal trade;

    /**
     * 船舶利用率
     */
    @TableField("ship")
    private BigDecimal ship;

    /**
     * 是否还原,0:未还原，1：已还原
     */
    @TableField("is_reduce")
    private Integer isReduce;
    /**
     * 还原时间
     */
    @TableField("reduce_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reduceDate;

    /**
     * 是否草稿,0:未草稿，1：已草稿
     */
    @TableField("is_draft")
    private Integer isDraft;

    /**
     * 是否下发，0：未下发，1：已下发
     */
    @TableField("is_distribute")
    private Integer isDistribute;

    /**
     * 是否是历史记录（0：否，1：是）
     */
    @TableField("is_history")
    private Integer isHistory;

    /**
     * 调度方案ID
     */
    private Long dispatchSchemeId;

    @TableField(exist = false)
    private List<SpYearPlanSchemeDetail> detailList;

    @Override
    public String getLabel() {
        return null;
    }

    @Override
    public String getValue() {
        return null;
    }
}
